"""
@Author  : 康帅
@Time    : 2021/3/24 13:50
@Function: 构建模式
"""

"""
构建模式描述：
构建顾名思义就是把各种部件通过一定的方式和流程构造成一个成品的过程。
在程序中，我们将这一过程称为构建模式（英文叫Builder Pattern，不同的书籍和资料翻译各有不同，有的也叫建造者模式或生成器模式）。

构建模式的核心思想是：
将产品的创建过程与产品本身分离开来，使得创建过程更加清晰，能够更加精确地控制复杂对象的创建过程，让使用者可以用相同的创建过程创建不同的产品。

构建模式优点:
1.将产品（对象）的创建过程与产品（对象）本身分离开来，让使用方（调用者）可以用相同的创建过程创建不同的产品（对象）。
2.将对象的创建过程单独分解出来，使得创建过程更加清晰，能够更加精确地控制复杂对象的创建过程。
3.针对升级版的构建模式，每一个具体构建者都相对独立，而与其他的具体构建者无关，因此可以很方便地替换具体构建者或增加新的具体构建者。

构建模式缺点:
1.增加了很多创建类，如果产品的类型和种类比较多，将会增加很多类，使整个系统变得更加庞杂。
2.产品之间的结构相差很大时，构建模式将很难适应。

应用场景:
1.产品（对象）的创建过程比较复杂，希望将产品的创建过程和它本身的功能分离开来。
2.产品有很多种类，每个种类之间内部结构比较类似，但有很多差异；不同的创建顺序或不同的组合方式，将创建不同的产品。
"""